1. Field of the Invention
Apparatuses and methods consistent with the present invention relate to a programmable logic controller and its programming tool in an industrial automation environment. In particular, they relate to a programmable logic controller which can execute high-level language programs and easily communicate with legacy equipment.
2. Description of the Related Art
In modern manufacturing facilities, automated processes are often controlled by low-level automation and process control and monitoring systems. Low-level automation systems may include dedicated robotic devices or other automated systems controlled or monitored by programmable logic controllers (PLCs). Various sensing devices and instrumentation may be used to monitor such processes, such as machine vision systems, barcode readers, temperature sensors, etc.
FIG. 1 illustrates a conventional industrial automation environment or production system 100. Peripheral equipments 101 are connected to a PLC 102 through a network 103. The PLC 102 executes a ladder program to control various devices. An administrator may access a state of execution or a result of the various devices by querying the PLC through the peripheral equipments. Examples of the peripheral equipment include SCADA (Supervisory Control and Data Acquisition) systems, Human machine interface (HMI) systems, a user application running on a computer, etc. The PLC is coupled with a power module and a network module, which communicates the PLC information to the peripheral equipment.
“Device” as used herein includes physical apparatuses attached to and controlled by the PLC. Sensors, switches, relays, etc. are some examples of the devices referred to in this disclosure. However, a “device” according to the present disclosure, is not limited to a physical apparatus. A device can also refer to internal elements such as registers, internal relays, etc. which are assigned a memory address in the PLC. Further, a device may also refer to software elements that can communicate with the PLC via commonly accessible memory.
When the peripheral equipments query the PLC, the query states a device in the controller that the peripheral equipments want to monitor. For example, a query may be something like “is device X on/off.”
Now, such queries may not be understood by a controller if the controller executes high-level language programs which do not recognize devices. A controller executing high-level language programs (such as a program written in C language) recognizes variable names and physical addresses of the variable names in the controller's memory instead of device names. If such a controller, which executes high-level language programs is installed in an existing production system, existing peripheral equipments will not be able to communicate with the controller.
However, customers desire to use new controllers that can execute high-level language programs because high-level language programs are easy to use and maintain and programmers prefer to use high-level language programs over ladder programs. A potential but less than satisfactory solution to the problem would be to use expensive middleware between the controller and the peripheral equipment.
Accordingly, there exists a need for a system which can overcome the above problem of communication between older peripheral equipments and newer controllers.